hysop.backend.device.opencl.operator.custom module

class hysop.backend.device.opencl.operator.custom.OpenClCustomOperator(**kwds)[source]

Bases: CustomOperatorBase, OpenClOperator

Create the common attributes of all OpenCL operators. See handle_method() and setup().

All input and output variable topologies should be of kind Backend.OPENCL and share the same OpenClEnvironment.

cl_env

OpenCL environment shared accross all topologies.

Type:

OpenClEnvironment

Notes

About method keys:
OpenClKernelConfig: user build options, defines, precision

and autotuner configuration

apply(**kwds)

Abstract method that should be implemented. Applies this node (operator, computational graph operator…).

setup(*args, **kwargs)[source]

Setup temporary buffer that have been requested in get_work_properties(). This function may be used to execute post allocation routines. This sets self.ready flag to True. Once this flag is set one may call ComputationalGraphNode.apply() and ComputationalGraphNode.finalize().

Automatically honour temporary field memory requests.